#ifndef RDGAME_H
#define RDGAME_H

class RedDogConnection;
class RedDogHand;
class RedDogSavedGame;
class Shue;

class RedDogGame
{
	public:
		RedDogGame(RedDogConnection*, int32 bet);
		RedDogGame(RedDogConnection*, RedDogSavedGame*);
		~RedDogGame();

		bool8 deal();
		bool8 raise(int32 raisebet, int32 balance);

		bool8 canRaise();

		int32 getBet();

		void send();
		void save(RedDogSavedGame*);

	protected:
		void restore(RedDogSavedGame*);

		int32 GetPayout();

	protected:
		RedDogConnection*	conn;
		int32				bet;
		bool8				raised;
		Shue*				shue;
		RedDogHand*			player;
		//
		// *IMPORTANT*  When adding/changing here, be sure to update
		//				constructors/destructor, send(), save(), restore()
		//
};

inline int32
RedDogGame::getBet()
{
	return bet;
}

#endif
